#define _CRT_SECURE_NO_WARNINGS 1


//https://www.luogu.com.cn/problem/P2280


//
//#include<iostream>
//
//using namespace std;
//
//const int N = 5e3 + 10;
//
//int a[N][N];
//int f[N][N];
//
//int main()
//{
//	int n, m;
//	cin >> n >> m;
//	int ant_x = 0;
//	int ant_y = 0;
//	while (n--)
//	{
//		int x, y, v;
//		cin >> x >> y >> v;
//		x++, y++;
//		ant_x = max(ant_x, x);
//		ant_y = max(ant_y, y);
//		a[x][y] += v;
//	}
//	int ant = max(ant_x, ant_y);
//	for (int i = 1;i <= ant;i++)
//		for (int j = 1;j <= ant;j++)
//			f[i][j] = f[i - 1][j] + f[i][j - 1] - f[i - 1][j - 1] + a[i][j];
//
//	int ret = 0;
//	if (m >= ant)
//	{
//		cout << f[ant][ant];
//		return 0;
//	}
//	for (int i = m;i <= ant;i++)
//	{
//		for (int j = m;j <= ant;j++)
//		{
//			int x1 = i - m + 1;
//			int y1 = j - m + 1;
//			int sum = f[i][j] - f[x1 - 1][j] - f[i][y1 - 1] + f[x1 - 1][y1 - 1];
//			ret = max(ret, sum);
//		}
//	}
//	cout << ret;
//	return 0;
//}